//#include "selectionSort.h"
//#include "sortTestHelper.h"
//#include "insertSort.h"
//#include "shellsort.h"
//#include "bubblesort.h"
//#include "mergeSort.h"
//#include "quickSort.h"
//#include "heap.h"
//#include "myBinarySearch.h"
//#include "bsf.h"
//#include "stack.h"
//
//int main(){
//    int length = 10000;
//    char* string1 = "select sort";
//    char* string2 = "insert sort";
//    char* string3 = "shell sort";
//    char* string4 = "bubble sort";
//    char* string5 = "merge sort";
//    char* string6 = "quick sort";
//    int* array1 = generateRandomArray(length,0,length);
//    int* array2 = copy(array1, length);
//    int* array3 = copy(array1, length);
//    int* array4 = copy(array1, length);
//    int* array5 = copy(array1, length);
//    int* array6 = copy(array1, length);
//    testSort(string1, selectSort, array1, length);
//    testSort(string2, insertSort, array2, length);
//    testSort(string3, shellSort, array4, length);
//    testSort(string4, bubbleSort, array3, length);
//    testSort(string5, mergeSort, array5, length);
//    testSort(string6, quickSort, array6, length);
//    createHeap(10);
//    srand(time(NULL));
//    int i;
//    for (i = 0; i < 7 ; i++) {
//        insertHeap(rand() % 100);
//    }
//    printHeap();
//    travel();
//    freeHeap();
//    printf("index:%d\n",myBinarySearch(array1, length, 10));
//    free(array1);
//    free(array2);
//    free(array3);
//    free(array4);
//    free(array5);
//    free(array6);
//    insertBSF(60,3);
//    insertBSF(80,6);
//    insertBSF(90,3);
//    insertBSF(5,8);
//    insertBSF(9,4);
//    insertBSF(3,4);
//    travelBSF();
//    printf("########\n");
//    deleteBSF(80);
//    deleteBSF(5);
//    travelBSF();
//    printf("BSF length is %d\n",getBsfLength());
//    destroyBSF();
//    printf("destroyBSF()########\n");
//    travelBSF();
//    printf("BSF length is %d\n",getBsfLength());
//    SNode* sNode = NULL;
//    initStack(&sNode);
//    pushStack(sNode, 5);
//    pushStack(sNode, 4);
//    pushStack(sNode, 3);
//    pushStack(sNode, 2);
//    pushStack(sNode, 1);
//    while (!isStackEmpty(sNode)){
//        int temp = 0;
//        popStack(sNode,&temp);
//        printf("%d\t", temp);
//    }
//    printf("\n");
//    return 0;
//}
